package top.ghovos.edgar.springbootproject02;

import org.springframework.boot.CommandLineRunner;
import org.springframework.core.env.Environment;

import java.util.Objects;

/**
 * 实验二 利用Spring boot 的自动装配特性实现动态注册组件
 */

@SuppressWarnings("unused")
class CustomCommandLineRunner implements CommandLineRunner {

    Environment env;

    // 使用构造方法的方式 注入Environment
    public CustomCommandLineRunner(Environment env){
        this.env=env;
    }


    @Override
    public void run(String... args) throws Exception {
        System.out.println("利用Spring Boot 自动装配的 CommandLineRunner");

        // 利用random的RandomValuePropertySource 产生一个32位随机子串
        System.out.println("产生一个随机字符串".concat(Objects.requireNonNull(env.getProperty("random."))));
    }
}
